The extra amount of coding should be small. Once you have the parser complete, you can make another copy of your code and instead of parsing for <program>, you let the calculator parse for <expression>. You need to augment only the functions of all related production rules of <expression>. The new code needs to evaluate the expression in the left-associative order during parsing. In the next assignment of expression generation, similar code will be needed to convert expressions into assembly-like code that preserves left-associativity.
Submit the Calculator with the Parser. The Makefile should produce
both executables.